export default [
  // 主路由
  {
    path: "/",
    redirect: "/dashboard"
  },
  // 首页
  {
    name: "dashboard",
    path: "/dashboard",
    component: resolve => require(["@/views/dashboard/Index"], resolve),
    meta: {
      title: "dashboard"
    }
  },
  // 请求方法
  {
    name: "requestMethods",
    path: "/requestMethods",
    component: resolve => require(["@/views/requestMethods/Index"], resolve),
    meta: {
      title: "requestMethods"
    }
  },
  // easyPoi导出
  {
    name: "easypoiExport",
    path: "/easypoiExport",
    component: resolve => require(["@/views/easypoiExport/Index"], resolve),
    meta: {
      title: "easypoiExport"
    }
  },
  // vue实现公告栏文字上下滚动效果
  {
    name: "carousel",
    path: "/carousel",
    component: resolve => require(["@/views/carousel/Index"], resolve),
    meta: {
      title: "carousel"
    }
  },
  // 内嵌外接网页
  {
    name: "embeddedPage",
    path: "/embeddedPage",
    component: resolve => require(["@/views/embeddedPage/Index"], resolve),
    meta: {
      title: "embeddedPage"
    }
  },
  // 菜单
  {
    name: "layout",
    path: "/layout",
    component: resolve => require(["@/views/layout/Index"], resolve),
    meta: {
      title: "layout"
    }
  },
  {
    name: "test",
    path: "/test",
    component: resolve => require(["@/views/layout/Index"], resolve),
    meta: {
      title: "测试页"
    }
  },
  // mixins混入的使用
  {
    name: "mixins",
    path: "/mixins",
    component: resolve => require(["@/views/mixins/Index"], resolve),
    meta: {
      title: "mixins"
    }
  },
  // 文件上传
  {
    name: "upload",
    path: "/upload",
    component: resolve => require(["@/views/upload/Index"], resolve),
    meta: {
      title: "upload"
    }
  },
  // filters过滤器
  {
    name: "filters",
    path: "/filters",
    component: resolve => require(["@/views/filters/Index"], resolve),
    meta: {
      title: "filters"
    }
  },
  // element ui Tooltip组件的扩展 exTooltip
  {
    name: "exTooltip",
    path: "/exTooltip",
    component: resolve => require(["@/views/exTooltip/Index"], resolve),
    meta: {
      title: "exTooltip"
    }
  },
  // element ui form rules验证
  {
    name: "rules",
    path: "/rules",
    component: resolve =>
      require(["@/views/elementuiFormRules/Index"], resolve),
    meta: {
      title: "rules"
    }
  },
  // 获取菜单数据
  {
    name: "auth",
    path: "/auth",
    component: resolve => require(["@/views/auth/Index"], resolve),
    meta: {
      title: "auth"
    }
  },
  // echats 图
  {
    name: "echarts",
    path: "/echarts",
    component: resolve => require(["@/views/echarts/Index"], resolve),
    meta: {
      title: "echarts"
    }
  },
  // 高德地图引入
  {
    name: "aMap",
    path: "/aMap",
    component: resolve => require(["@/views/aMap/Index"], resolve),
    meta: {
      title: "aMap"
    }
  },
  // 获取指定枚举数据
  {
    name: "enum",
    path: "/enum",
    component: resolve => require(["@/views/enum/Index"], resolve),
    meta: {
      title: "enum"
    }
  },
  // Vue重置当前页面的data
  {
    name: "resetData",
    path: "/resetData",
    component: resolve => require(["@/views/resetData/Index"], resolve),
    meta: {
      title: "resetData"
    }
  },
  // 获取验证码
  {
    name: "getVerificationCode",
    path: "/getVerificationCode",
    component: resolve =>
      require(["@/views/getVerificationCode/Index"], resolve),
    meta: {
      title: "getVerificationCode"
    }
  },
  // 测试collapseTransition过渡动画
  {
    name: "collapseTransition",
    path: "/collapseTransition",
    component: resolve =>
      require(["@/views/collapseTransition/Index"], resolve),
    meta: {
      title: "collapseTransition"
    }
  },
  // 测试音乐播放
  {
    name: "playMusic",
    path: "/playMusic",
    component: resolve => require(["@/views/playMusic/Index"], resolve),
    meta: {
      title: "playMusic"
    }
  },
  // 测试打印
  {
    name: "printDemo",
    path: "/printDemo",
    component: resolve => require(["@/views/printDemo/Index"], resolve),
    meta: {
      title: "printDemo"
    }
  },
  // 测试时间的操作
  {
    name: "timeDemo",
    path: "/timeDemo",
    component: resolve => require(["@/views/timeDemo/Index"], resolve),
    meta: {
      title: "timeDemo"
    }
  },
  // 测试轮询
  {
    name: "polling",
    path: "/polling",
    component: resolve => require(["@/views/polling/Index"], resolve),
    meta: {
      title: "polling"
    }
  },
  // 测试导入模板
  {
    name: "importDemo",
    path: "/importDemo",
    component: resolve => require(["@/views/importDemo/Index"], resolve),
    meta: {
      title: "importDemo"
    }
  },
  // 测试创建用户
  {
    name: "createUser",
    path: "/createUser",
    component: resolve => require(["@/views/createUser/Index"], resolve),
    meta: {
      title: "createUser"
    }
  },
  // 测试用户登录
  {
    name: "login",
    path: "/login",
    component: resolve => require(["@/views/login/Index"], resolve),
    meta: {
      title: "login"
    }
  },
  // 测试阿里icon
  {
    name: "iconfont",
    path: "/iconfont",
    component: resolve => require(["@/views/iconfont/Index"], resolve),
    meta: {
      title: "iconfont"
    }
  },
  // 测试阿里icon FontClass方式
  {
    name: "iconfontFontClass",
    path: "/iconfontFontClass",
    component: resolve => require(["@/views/iconfontFontClass/Index"], resolve),
    meta: {
      title: "iconfontFontClass"
    }
  },
  // 测试easyPoi导入
  {
    name: "easyPoiImportDemo",
    path: "/easyPoiImportDemo",
    component: resolve => require(["@/views/easyPoiImportDemo/Index"], resolve),
    meta: {
      title: "easyPoiImportDemo"
    }
  },
  // 测试移动端横向橡皮筋效果
  {
    name: "mobileNavDrag",
    path: "/mobileNavDrag",
    component: resolve => require(["@/views/mobileNavDrag/Index"], resolve),
    meta: {
      title: "mobileNavDrag"
    }
  },
  // 测试移动端竖向滑屏效果
  {
    name: "mobileVerticalMove",
    path: "/mobileVerticalMove",
    component: resolve =>
      require(["@/views/mobileVerticalMove/Index"], resolve),
    meta: {
      title: "mobileVerticalMove"
    }
  },
  // 测试移动端横向选项卡效果
  {
    name: "mobileTab",
    path: "/mobileTab",
    component: resolve => require(["@/views/mobileTab/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试加减乘除操作（避免损失精度问题）
  {
    name: "arithmetic",
    path: "/arithmetic",
    component: resolve => require(["@/views/arithmetic/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试vee-validate表单验证
  {
    name: "veeValidateTest",
    path: "/veeValidateTest",
    component: resolve => require(["@/views/veeValidateTest/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试lodash的常规使用
  {
    name: "lodashTest",
    path: "/lodashTest",
    component: resolve => require(["@/views/lodashTest/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试momentJS时间处理
  {
    name: "momentTest",
    path: "/momentTest",
    component: resolve => require(["@/views/momentTest/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试vee-validate表单验证+定位提示+promise的结合使用
  {
    name: "veeValidateAddLocationTipsAddPromiseTest",
    path: "/veeValidateAddLocationTipsAddPromiseTest",
    component: resolve =>
      require([
        "@/views/veeValidateAddLocationTipsAddPromiseTest/Index"
      ], resolve),
    meta: {
      title: ""
    }
  },
  // 测试this.$el.querySelector的使用
  {
    name: "this.$el.querySelector",
    path: "/this.$el.querySelector",
    component: resolve =>
      require(["@/views/this.$el.querySelector/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试原生的JS对象合并方法
  {
    name: "objectMerge",
    path: "/objectMerge",
    component: resolve => require(["@/views/objectMerge/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试Promise.all方法
  {
    name: "promiseAllTest",
    path: "/promiseAllTest",
    component: resolve => require(["@/views/promiseAllTest/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试表格排序方法
  {
    name: "tableSortable",
    path: "/tableSortable",
    component: resolve => require(["@/views/tableSortable/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试保留带有空格的数据
  {
    name: "retainSpaceData",
    path: "/retainSpaceData",
    component: resolve => require(["@/views/retainSpaceData/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试多环境url地址
  {
    name: "multiEnvironmentUrl",
    path: "/multiEnvironmentUrl",
    component: resolve =>
      require(["@/views/multiEnvironmentUrl/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试table表单
  {
    name: "tableForm",
    path: "/tableForm",
    component: resolve => require(["@/views/tableForm/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试vxe-table的使用
  {
    name: "vxeTable",
    path: "/vxeTable",
    component: resolve => require(["@/views/vxe-table/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 生成分析图
  {
    name: "performance",
    path: "/performance",
    component: resolve => require(["@/views/performance/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 国内/国外行政区划标点
  {
    name: "divisionMap",
    path: "/divisionMap",
    component: resolve => require(["@/views/divisionMap/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 图片标注
  {
    name: "fabricjs",
    path: "/fabricjs",
    component: resolve => require(["@/views/fabricjs/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 使用formData传递附件及其他信息数据
  {
    name: "formDataFileInfoData",
    path: "/formDataFileInfoData",
    component: resolve =>
      require(["@/views/formDataFileInfoData/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 自定义注解+aop解析自定义注解
  {
    name: "aopAnnotation",
    path: "/aopAnnotation",
    component: resolve => require(["@/views/aopAnnotation/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // webSocket
  {
    name: "webSocket",
    path: "/webSocket",
    component: resolve => require(["@/views/webSocket/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // java实体类转json
  {
    name: "javaTojson",
    path: "/javaTojson",
    component: resolve => require(["@/views/javaTojson/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 事务传播行为
  {
    name: "transactionalpropagation",
    path: "/transactionalpropagation",
    component: resolve =>
      require(["@/views/transactionalpropagation/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 幂等性
  {
    name: "idempotent",
    path: "/idempotent",
    component: resolve => require(["@/views/idempotent/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // rabbitMQ
  {
    name: "rabbitMQ",
    path: "/rabbitMQ",
    component: resolve => require(["@/views/rabbitMQ/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // SpringBoot上传文件相关配置
  {
    name: "uploadFile",
    path: "/uploadFile",
    component: resolve => require(["@/views/uploadFile/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 缓存击穿
  {
    name: "cacheBreakdown",
    path: "/cacheBreakdown",
    component: resolve => require(["@/views/cacheBreakdown/Index"], resolve),
    meta: {
      title: ""
    }
  },
  // 测试其他
  {
    name: "other",
    path: "/other",
    component: resolve => require(["@/views/other/Index"], resolve),
    meta: {
      title: ""
    }
  }
];
